package com.dog.basics.bean.model.common;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 文件信息表
 * </p>
 *
 * @author YC
 * @since 2021-02-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("dog_com_file_info")
public class DogComFileInfo extends Model<DogComFileInfo> implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId("file_id")
    private Long fileId;

    /**
     * 业务标识
     */
    @TableField("file_business_id")
    private Long fileBusinessId;

    /**
     * 所属类表  如: (SYS_USER) 全大写
     */
    @TableField("file_class_table")
    private String fileClassTable;

    /**
     * 头部 如: (img/)
     */
    @TableField("file_head")
    private String fileHead;

    /**
     * 文件原名
     */
    @TableField("original_name")
    private String originalName;
    /**
     * 文件名 如:  (abc.png)
     */
    @TableField("file_name")
    private String fileName;

    /**
     * 全路径 如:  (img/abc.png)
     */
    @TableField("file_path")
    private String filePath;

    /**
     * 后缀 如:  (png)
     */
    @TableField("file_suffix")
    private String fileSuffix;

    /**
     * 自定义备注名字 如:(合同 ) 默认文件名字
     */
    @TableField("file_explain_name")
    private String fileExplainName;

    /**
     * base64编码的文件
     */
    @TableField("file_data")
    private String fileData;

    /**
     * 类型: 0:localhost本地存储  1:为MinIo存储 2:base64存储 3:阿里云IO 4:七牛云
     */
    @TableField("file_type")
    private Integer fileType;

    /**
     * 状态: 0未使用  1已使用
     */
    @TableField("file_state")
    private Integer fileState;

    /**
     * 上传出处:  0 其它上传  1 File管理上传
     */
    @TableField("file_source")
    private Integer fileSource;

    /**
     * 文件MD5码 使用于重复
     */
    @TableField("file_md_file_mdfive")
    private String fileMdFileMdfive;

    /**
     * 文件大小
     */
    @TableField("file_size")
    private Long fileSize;


    /**
     * 所属租户
     */
    @TableField("tenant_id")
    private Long tenantId;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Long createTime;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private Long updateTime;

    /**
     * 创建用户
     */
    @TableField("create_user")
    private Long createUser;

    /**
     * 修改用户
     */
    @TableField("update_user")
    private Long updateUser;

    /**
     * 删除标记 0正常 1删除
     */
    @TableField("del_flag")
    private Integer delFlag;


}
